
phase5.o：     文件格式 elf64-x86-64


Disassembly of section .text:

0000000000000000 <sSdTChpfLt>:
   0:	55                   	push   %rbp
   1:	48 89 e5             	mov    %rsp,%rbp
   4:	89 7d dc             	mov    %edi,-0x24(%rbp)
   7:	48 b8 45 50 67 65 51 	movabs $0x51504e5165675045,%rax
   e:	4e 50 51 
  11:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
  15:	48 b8 4f 52 50 70 7a 	movabs $0x7462447a7050524f,%rax
  1c:	44 62 74 
  1f:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
  23:	48 b8 45 43 51 45 47 	movabs $0x58756d4745514345,%rax
  2a:	6d 75 58 
  2d:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  31:	66 c7 45 f8 61 00    	movw   $0x61,-0x8(%rbp)
  37:	c7 45 fc 1a 00 00 00 	movl   $0x1a,-0x4(%rbp)
  3e:	83 7d dc 00          	cmpl   $0x0,-0x24(%rbp)
  42:	78 14                	js     58 <sSdTChpfLt+0x58>
  44:	8b 45 dc             	mov    -0x24(%rbp),%eax
  47:	3b 45 fc             	cmp    -0x4(%rbp),%eax
  4a:	7d 0c                	jge    58 <sSdTChpfLt+0x58>
  4c:	8b 45 dc             	mov    -0x24(%rbp),%eax
  4f:	48 98                	cltq
  51:	0f b6 44 05 e0       	movzbl -0x20(%rbp,%rax,1),%eax
  56:	eb 05                	jmp    5d <sSdTChpfLt+0x5d>
  58:	b8 00 00 00 00       	mov    $0x0,%eax
  5d:	5d                   	pop    %rbp
  5e:	c3                   	ret

000000000000005f <transform_code>:
  5f:	55                   	push   %rbp
  60:	48 89 e5             	mov    %rsp,%rbp
  63:	89 7d fc             	mov    %edi,-0x4(%rbp)
  66:	89 75 f8             	mov    %esi,-0x8(%rbp)
  69:	8b 45 f8             	mov    -0x8(%rbp),%eax
  6c:	48 98                	cltq
  6e:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			71: R_X86_64_32S	ygnKvq
  75:	83 e0 07             	and    $0x7,%eax
  78:	83 f8 07             	cmp    $0x7,%eax
  7b:	0f 87 83 00 00 00    	ja     104 <transform_code+0xa5>
  81:	89 c0                	mov    %eax,%eax
  83:	48 8b 04 c5 00 00 00 	mov    0x0(,%rax,8),%rax
  8a:	00 
			87: R_X86_64_32S	.rodata+0x48
  8b:	ff e0                	jmp    *%rax
  8d:	f7 55 fc             	notl   -0x4(%rbp)
  90:	eb 76                	jmp    108 <transform_code+0xa9>
  92:	8b 45 f8             	mov    -0x8(%rbp),%eax
  95:	48 98                	cltq
  97:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			9a: R_X86_64_32S	ygnKvq
  9e:	83 e0 03             	and    $0x3,%eax
  a1:	89 c1                	mov    %eax,%ecx
  a3:	d3 7d fc             	sarl   %cl,-0x4(%rbp)
  a6:	eb 60                	jmp    108 <transform_code+0xa9>
  a8:	8b 45 f8             	mov    -0x8(%rbp),%eax
  ab:	48 98                	cltq
  ad:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			b0: R_X86_64_32S	ygnKvq
  b4:	f7 d0                	not    %eax
  b6:	21 45 fc             	and    %eax,-0x4(%rbp)
  b9:	eb 4d                	jmp    108 <transform_code+0xa9>
  bb:	8b 45 f8             	mov    -0x8(%rbp),%eax
  be:	48 98                	cltq
  c0:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			c3: R_X86_64_32S	ygnKvq
  c7:	c1 e0 08             	shl    $0x8,%eax
  ca:	09 45 fc             	or     %eax,-0x4(%rbp)
  cd:	eb 39                	jmp    108 <transform_code+0xa9>
  cf:	8b 45 f8             	mov    -0x8(%rbp),%eax
  d2:	48 98                	cltq
  d4:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			d7: R_X86_64_32S	ygnKvq
  db:	31 45 fc             	xor    %eax,-0x4(%rbp)
  de:	eb 28                	jmp    108 <transform_code+0xa9>
  e0:	8b 45 f8             	mov    -0x8(%rbp),%eax
  e3:	48 98                	cltq
  e5:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			e8: R_X86_64_32S	ygnKvq
  ec:	f7 d0                	not    %eax
  ee:	09 45 fc             	or     %eax,-0x4(%rbp)
  f1:	eb 15                	jmp    108 <transform_code+0xa9>
  f3:	8b 45 f8             	mov    -0x8(%rbp),%eax
  f6:	48 98                	cltq
  f8:	8b 04 85 00 00 00 00 	mov    0x0(,%rax,4),%eax
			fb: R_X86_64_32S	ygnKvq
  ff:	01 45 fc             	add    %eax,-0x4(%rbp)
 102:	eb 04                	jmp    108 <transform_code+0xa9>
 104:	f7 5d fc             	negl   -0x4(%rbp)
 107:	90                   	nop
 108:	8b 45 fc             	mov    -0x4(%rbp),%eax
 10b:	5d                   	pop    %rbp
 10c:	c3                   	ret

000000000000010d <generate_code>:
 10d:	55                   	push   %rbp
 10e:	48 89 e5             	mov    %rsp,%rbp
 111:	48 83 ec 18          	sub    $0x18,%rsp
 115:	89 7d ec             	mov    %edi,-0x14(%rbp)
 118:	8b 45 ec             	mov    -0x14(%rbp),%eax
 11b:	89 05 00 00 00 00    	mov    %eax,0x0(%rip)        # 121 <generate_code+0x14>
			11d: R_X86_64_PC32	FlGqQQ-0x4
 121:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 128:	eb 1c                	jmp    146 <generate_code+0x39>
 12a:	8b 05 00 00 00 00    	mov    0x0(%rip),%eax        # 130 <generate_code+0x23>
			12c: R_X86_64_PC32	FlGqQQ-0x4
 130:	8b 55 fc             	mov    -0x4(%rbp),%edx
 133:	89 d6                	mov    %edx,%esi
 135:	89 c7                	mov    %eax,%edi
 137:	e8 00 00 00 00       	call   13c <generate_code+0x2f>
			138: R_X86_64_PC32	transform_code
 13c:	89 05 00 00 00 00    	mov    %eax,0x0(%rip)        # 142 <generate_code+0x35>
			13e: R_X86_64_PC32	FlGqQQ-0x4
 142:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 146:	8b 45 fc             	mov    -0x4(%rbp),%eax
 149:	83 f8 09             	cmp    $0x9,%eax
 14c:	76 dc                	jbe    12a <generate_code+0x1d>
 14e:	c9                   	leave
 14f:	c3                   	ret

0000000000000150 <encode_1>:
 150:	55                   	push   %rbp
 151:	48 89 e5             	mov    %rsp,%rbp
 154:	48 83 ec 20          	sub    $0x20,%rsp
 158:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
 15c:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 160:	48 89 c7             	mov    %rax,%rdi
 163:	e8 00 00 00 00       	call   168 <encode_1+0x18>
			164: R_X86_64_PC32	strlen-0x4
 168:	89 45 f8             	mov    %eax,-0x8(%rbp)
 16b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 172:	eb 72                	jmp    1e6 <encode_1+0x96>
 174:	8b 45 fc             	mov    -0x4(%rbp),%eax
 177:	48 63 d0             	movslq %eax,%rdx
 17a:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 17e:	48 01 c2             	add    %rax,%rdx
 181:	8b 45 fc             	mov    -0x4(%rbp),%eax
 184:	48 63 c8             	movslq %eax,%rcx
 187:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 18b:	48 01 c8             	add    %rcx,%rax
 18e:	0f b6 00             	movzbl (%rax),%eax
 191:	0f be c0             	movsbl %al,%eax
 194:	48 98                	cltq
 196:	0f b6 88 00 00 00 00 	movzbl 0x0(%rax),%ecx
			199: R_X86_64_32S	AUePrk
 19d:	8b 05 00 00 00 00    	mov    0x0(%rip),%eax        # 1a3 <encode_1+0x53>
			19f: R_X86_64_PC32	FlGqQQ-0x4
 1a3:	31 c8                	xor    %ecx,%eax
 1a5:	83 e0 7f             	and    $0x7f,%eax
 1a8:	88 02                	mov    %al,(%rdx)
 1aa:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1ad:	48 63 d0             	movslq %eax,%rdx
 1b0:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1b4:	48 01 d0             	add    %rdx,%rax
 1b7:	0f b6 00             	movzbl (%rax),%eax
 1ba:	3c 1f                	cmp    $0x1f,%al
 1bc:	7e 14                	jle    1d2 <encode_1+0x82>
 1be:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1c1:	48 63 d0             	movslq %eax,%rdx
 1c4:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1c8:	48 01 d0             	add    %rdx,%rax
 1cb:	0f b6 00             	movzbl (%rax),%eax
 1ce:	3c 7f                	cmp    $0x7f,%al
 1d0:	75 10                	jne    1e2 <encode_1+0x92>
 1d2:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1d5:	48 63 d0             	movslq %eax,%rdx
 1d8:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 1dc:	48 01 d0             	add    %rdx,%rax
 1df:	c6 00 3f             	movb   $0x3f,(%rax)
 1e2:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 1e6:	8b 45 fc             	mov    -0x4(%rbp),%eax
 1e9:	3b 45 f8             	cmp    -0x8(%rbp),%eax
 1ec:	7c 86                	jl     174 <encode_1+0x24>
 1ee:	8b 45 f8             	mov    -0x8(%rbp),%eax
 1f1:	c9                   	leave
 1f2:	c3                   	ret

00000000000001f3 <encode_2>:
 1f3:	55                   	push   %rbp
 1f4:	48 89 e5             	mov    %rsp,%rbp
 1f7:	48 83 ec 20          	sub    $0x20,%rsp
 1fb:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
 1ff:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 203:	48 89 c7             	mov    %rax,%rdi
 206:	e8 00 00 00 00       	call   20b <encode_2+0x18>
			207: R_X86_64_PC32	strlen-0x4
 20b:	89 45 f8             	mov    %eax,-0x8(%rbp)
 20e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
 215:	eb 72                	jmp    289 <encode_2+0x96>
 217:	8b 45 fc             	mov    -0x4(%rbp),%eax
 21a:	48 63 d0             	movslq %eax,%rdx
 21d:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 221:	48 01 c2             	add    %rax,%rdx
 224:	8b 45 fc             	mov    -0x4(%rbp),%eax
 227:	48 63 c8             	movslq %eax,%rcx
 22a:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 22e:	48 01 c8             	add    %rcx,%rax
 231:	0f b6 00             	movzbl (%rax),%eax
 234:	0f be c0             	movsbl %al,%eax
 237:	48 98                	cltq
 239:	0f b6 88 00 00 00 00 	movzbl 0x0(%rax),%ecx
			23c: R_X86_64_32S	AUePrk
 240:	8b 05 00 00 00 00    	mov    0x0(%rip),%eax        # 246 <encode_2+0x53>
			242: R_X86_64_PC32	FlGqQQ-0x4
 246:	01 c8                	add    %ecx,%eax
 248:	83 e0 7f             	and    $0x7f,%eax
 24b:	88 02                	mov    %al,(%rdx)
 24d:	8b 45 fc             	mov    -0x4(%rbp),%eax
 250:	48 63 d0             	movslq %eax,%rdx
 253:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 257:	48 01 d0             	add    %rdx,%rax
 25a:	0f b6 00             	movzbl (%rax),%eax
 25d:	3c 1f                	cmp    $0x1f,%al
 25f:	7e 14                	jle    275 <encode_2+0x82>
 261:	8b 45 fc             	mov    -0x4(%rbp),%eax
 264:	48 63 d0             	movslq %eax,%rdx
 267:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 26b:	48 01 d0             	add    %rdx,%rax
 26e:	0f b6 00             	movzbl (%rax),%eax
 271:	3c 7f                	cmp    $0x7f,%al
 273:	75 10                	jne    285 <encode_2+0x92>
 275:	8b 45 fc             	mov    -0x4(%rbp),%eax
 278:	48 63 d0             	movslq %eax,%rdx
 27b:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
 27f:	48 01 d0             	add    %rdx,%rax
 282:	c6 00 2a             	movb   $0x2a,(%rax)
 285:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
 289:	8b 45 fc             	mov    -0x4(%rbp),%eax
 28c:	3b 45 f8             	cmp    -0x8(%rbp),%eax
 28f:	7c 86                	jl     217 <encode_2+0x24>
 291:	8b 45 f8             	mov    -0x8(%rbp),%eax
 294:	c9                   	leave
 295:	c3                   	ret

0000000000000296 <do_phase>:
 296:	55                   	push   %rbp
 297:	48 89 e5             	mov    %rsp,%rbp
 29a:	bf 9e 00 00 00       	mov    $0x9e,%edi
 29f:	e8 00 00 00 00       	call   2a4 <do_phase+0xe>
			2a0: R_X86_64_PC32	generate_code
 2a4:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 2ab <do_phase+0x15>
			2a7: R_X86_64_PC32	encoder
 2ab:	bf 00 00 00 00       	mov    $0x0,%edi
			2ac: R_X86_64_32	oOOeenUs
 2b0:	ff d0                	call   *%rax
 2b2:	bf 00 00 00 00       	mov    $0x0,%edi
			2b3: R_X86_64_32	oOOeenUs
 2b7:	e8 00 00 00 00       	call   2bc <do_phase+0x26>
			2b8: R_X86_64_PC32	puts-0x4
 2bc:	5d                   	pop    %rbp
 2bd:	c3                   	ret
